package br.com.eduquiz.session;

import br.com.eduquiz.entity.*;

import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.framework.EntityQuery;
import java.util.Arrays;

@Name("grupoList")
public class GrupoList extends EntityQuery<Grupo> {
	
	private static final long serialVersionUID = 9057991925479228115L;

	private static final String EJBQL = "select grupo from Grupo grupo";

	private static final String[] RESTRICTIONS = {
		"lower(grupo.nome) like lower(concat('%',#{grupoList.grupo.nome},'%'))",
		"lower(grupo.descricao) like lower(concat('%',#{grupoList.grupo.descricao},'%'))",
		"lower(grupo.email) like lower(concat('%',#{grupoList.grupo.email},'%'))",
		"grupo.status = #{grupoList.grupo.status}",
		"grupo.administradorGrupo.id = #{grupoList.administradorGrupo.id}",};

	private Grupo grupo = new Grupo();
	
	@In(required=false)
	private AdministradorGrupo administradorGrupo;

	public GrupoList() {
		setEjbql(EJBQL);
		setRestrictionExpressionStrings(Arrays.asList(RESTRICTIONS));
		setMaxResults(25);
	}

	public Grupo getGrupo() {
		return grupo;
	}

	public void setAdministradorGrupo(AdministradorGrupo administradorGrupo) {
		this.administradorGrupo = administradorGrupo;
	}

	public AdministradorGrupo getAdministradorGrupo() {
		return administradorGrupo;
	}
}
